package cn.edu.zafu.bigdata.hdb;
    class StaticDemo {
        // 静态变量，用于计数类的实例创建次数
        static int count;

        // 实例变量，用于存储每个实例的唯一编号
        int id;

        // 静态初始化块
        static {
            System.out.println("Static block executed");
            count = 0; // 初始化静态变量 count
        }

        // 实例初始化块
        {
            System.out.println("Instance block executed");
            id = count; // 设置实例的 id
            count++; // 增加 count
        }

        // 构造函数
        public StaticDemo() {
            System.out.println("Constructor executed for ID: " + id);
        }

        // 静态方法，打印当前创建了多少个实例
        public static void displayCount() {
            System.out.println("Current instance count: " + count);
        }
    }

    // TestStaticDemo.java
    public class TestStaticDemo {
        public static void main(String[] args) {
            // 创建多个 StaticDemo 类的实例
            StaticDemo demo1 = new StaticDemo();
            StaticDemo demo2 = new StaticDemo();
            StaticDemo demo3 = new StaticDemo();

            // 调用 displayCount() 静态方法验证实例创建次数
            StaticDemo.displayCount();
        }
    }
